-- 创建一个新的客户端功能对象，这个对象会被用于 LSP 配置中
local capabilities = vim.lsp.protocol.make_client_capabilities()

-- 启用 snippet 支持。这允许 LSP 服务器发送可以被自动完成引擎使用的代码片段。
capabilities.textDocument.completion.completionItem.snippetSupport = true

-- 设置 LSP 服务器的配置选项
local opts = {
  capabilities = capabilities,
  -- 指定 LSP 服务器将要激活的文件类型
  filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less" },
}

-- 返回一个配置表，包含了一个 on_setup 函数，用于初始化 LSP 服务器
return {
  -- on_setup 函数接受一个 server 参数，这个 server 参数是一个 LSP 服务器实例
  on_setup = function(server)
    -- 使用之前定义的 opts 配置来设置 LSP 服务器
    server.setup(opts)
  end,
}
